﻿using Memento;

var gamer = new Gamer(100);
var memento = gamer.CreateMemento();

for (var i = 0; i < 100; i++) 
{
    Console.WriteLine($"===={i}" );
    Console.WriteLine($"当前状态：{gamer}");

    gamer.Bet();

    Console.WriteLine($"所持金钱为{gamer.GetMoney()}元。");

    if (gamer.GetMoney() > memento.GetMoney())
    {
        Console.WriteLine("    (所持金钱增加了许多，因此保存游戏当前的状态)");
        memento = gamer.CreateMemento();
    }
    else if (gamer.GetMoney() < memento.GetMoney() / 2) 
    {
        Console.WriteLine("    (所持金钱减少了许多，因此将游戏恢复到以前的状态)");
        gamer.RestoreMemento(memento);
    }
}

await Task.Delay(1000);    